package com.cmc.cloud.cmclink.doc.vo.blnovslvoyvo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.util.Objects;

/**
 * @author 周贤
 * @date 2025/8/18
 */
@AllArgsConstructor
@NoArgsConstructor
@Data
public class BlnoVslvoySameVO {

    @Schema(description = "船名代码")
    private String vesselCode;

    @Schema(description = "出口航次")
    private String voyageEx;

    @Schema(description = "进口航次")
    private String voyageIm;

    @Schema(description = "装货港代码")
    private String polCode;

    @Schema(description = "卸货港代码")
    private String podCode;

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        BlnoVslvoySameVO that = (BlnoVslvoySameVO) o;
        return Objects.equals(vesselCode, that.vesselCode) &&
                Objects.equals(voyageEx, that.voyageEx) &&
                Objects.equals(voyageIm, that.voyageIm) &&
                Objects.equals(polCode, that.polCode) &&
                Objects.equals(podCode, that.podCode);
    }

    @Override
    public int hashCode() {
        return Objects.hash(vesselCode, voyageEx, voyageIm, polCode, podCode);
    }
}
